raar.plugin
Class RAPluginProcess

java.lang.Object
  extended by raar.agent.process.RAProcess
      extended by raar.plugin.RAPluginProcess
All Implemented Interfaces:
java.io.Serializable, RAPlugin

public abstract class RAPluginProcess
extends RAProcess
implements RAPlugin

If you subclass this class instead of RAProcess, the Agent Editor will not be trying to open a source code view of the process when it is double clicked in the editor, but instead it will call the notifyEditRequest() method so that you can handle the editing yourself (or display a message that the process is not editable from within SB-MASE). The rest of the class is completely identi- cal to the RAProcess class.
Please note that in the constructor you normally supply a statement that need be executed (and it will in the run() and execute() methods of RAProcess). If your process does not use RAStatement class as it's program code, you can use NULL here, however then you MUST override the execute() and run() methods, usually by leaving execute() completely blank and having your run() method as the actual process runner (whatever needs be done).
[SdJ]

See Also:
Serialized Form

Field Summary
 
Fields inherited from class raar.agent.process.RAProcess
hasRun, inregister, outregister, register, sourceCode, statement
 
Constructor Summary
RAPluginProcess()
          Empty constructor.
RAPluginProcess(RARegister register, RAStatement statement, RASetRegister inregister, RAFetchRegister outregister)
          Constructor inherited from RAProcess.
 
Method Summary
 java.lang.String getPluginType()
          Return a type for the plug-in in question (process).
abstract  void notifyEditRequest()
          As indicated above the Agent Editor calls this method when user double clicks your process in it.
 
Methods inherited from class raar.agent.process.RAProcess
acceptsInput, clone, dumpRegisters, execute, get, getDataType, getInputNames, getInputObjects, getOutputNames, getOutputObjects, getProcessName, getSourceCode, isSpecial, reset, run, set, setProcessName, setSourceCode, suppliesOutput
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface raar.plugin.RAPlugin
configure, getPluginIcon, getPluginName
 

Constructor Detail

RAPluginProcess

public RAPluginProcess()
Empty constructor. Dangerous; you cannot simply call run() or execute() now unless they are overridden as well.


RAPluginProcess

public RAPluginProcess(RARegister register,
                       RAStatement statement,
                       RASetRegister inregister,
                       RAFetchRegister outregister)
Constructor inherited from RAProcess. For some reason Java does not in- herit contructors in subclasses, so it needs to be included... sorry :)

Method Detail

notifyEditRequest

public abstract void notifyEditRequest()
                                throws RAException
As indicated above the Agent Editor calls this method when user double clicks your process in it. Handle this edit request.

Throws:
RAException

getPluginType

public final java.lang.String getPluginType()
Return a type for the plug-in in question (process).

Specified by:
getPluginType in interface RAPlugin